package Principal;

import java.util.ArrayList;

import java.util.List;

public class Disciplina {
	
	//Atributos
	private String nome;		
	private int periodo;
	private String turno;
	private Curso curso;
	private String comentario;
	private List <Aluno> alunos;
	private List <Evento> eventos;
	
	//Costrutor
	public Disciplina () {
		
		alunos = new ArrayList <Aluno> ();
		eventos = new ArrayList <Evento> ();
		
	}
	
	//Metodos gets sets	
	public void setNome (String nome_) {
		
		nome = nome_;		
	}
	
	public String getNome () {
		
		return nome;
		
	}		
	
	public String getTurno() {
		
		return turno;
		
	}

	public void setTurno(String turno_) {
		
		turno = turno_;
		
	}

	public int getPeriodo() {
		
		return periodo;
		
	}

	public void setPeriodo(int periodo_) {
		
		periodo = periodo_;
		
	}

	public Curso getCurso() {
		
		return curso;
		
	}

	public void setCurso(Curso curso_) {
		
		curso = curso_;
		
	}
	
	public String getComentario() {
		
		return comentario;
		
	}

	public void setComentario(String comentario_) {
		
		comentario = comentario_;
		
	}
					
	//Metodos add, remover e listar aluno	
	public void addAluno (Aluno aluno) {
		
		alunos.add(aluno);
		
	}
	
	public void removerAluno (Aluno aluno) {
		
		alunos.add(aluno);
		
	}

	public String listarEventos () {
		
		String concatenar = "";		
		int contador = 0;
		for (Evento index : eventos) {
			concatenar += contador + "- " + index + "\n";
			
		}
		
		return concatenar;
		
	}
	
	//Metodos add, remover, contador e listar eventos
	public void addEvento (Evento eventos_) {
		
		eventos.add(eventos_);
		
	}
	
	public void removerEventos (Evento eventos_) {
		
		eventos.remove(eventos_);
		
	}
	
	public String listarAlunos () {
		
		String concatenar = "";		
		int contador = 0;
		for (Aluno index : alunos) {
			
			concatenar += contador + "- " + index + "\n";
			
		}
		
		return concatenar;		
	
	}
	
	public int contadorAlunos () {
		
		String concatenar = "";		
		int contador = 0;
		for (Aluno index : alunos) {
			
			concatenar += contador + "- " + index + "\n";
			
		}
		
		return contador;		
	}
	
	//Buscar aluno
	public Aluno alunoPesquisa(String nome) {
		
		for (Aluno index : alunos) {
			
			if ((index.getNome()).equals(nome) ) {
				
				return index;
				
			}
			
		}
		
		return null;
		
	}
	
	
	//Metodos toString	
	public String toString () {
		
		return
		"Nome da disciplina:" + nome + "\n" +
		"Curso:" + curso + "\n" +		
		"Periodo:" + periodo + "\n" +
		"Turno:" + turno + "\n" + 
		"Lista de alunos:" + listarAlunos() + "\n";
		
	}
	
}
